import { Module } from '@nestjs/common';
import { AdminController } from './admin.controller';
import { AdminService } from './admin.service';
import { CachingModule } from './caching/caching.module';
import { ConfigureModule } from '@app/configure';
import { DbModule } from './db/db.module';
import { BaseController } from './base/base.controller';
import { UtilsModule } from '@app/utils';
import { AuthModule } from './common/auth/auth.module';
import { MemberModule } from './common/member/member.module';
import { MenuModule } from './common/menu/menu.module';
import { PlatformModule } from './common/platform/platform.module';
import { RoleModule } from './common/role/role.module';
import { JwtVerifyModule } from '@app/jwt-verify';
import { APP_GUARD } from '@nestjs/core';
import { AuthGuard } from './guard/auth/auth.guard';
import { DictionaryModule } from './common/dictionary/dictionary.module';

@Module({
  imports: [CachingModule, ConfigureModule, DbModule, UtilsModule, JwtVerifyModule, AuthModule, MemberModule, MenuModule, PlatformModule, RoleModule, DictionaryModule],
  controllers: [AdminController, BaseController],
  providers: [AdminService, {provide : APP_GUARD, useClass : AuthGuard}],
})
export class AdminModule {}
